This invention describes a method for producing a compressed digital image organized into layers having information relating to different viewing conditions and resolutions.
Subband or wavelet bit-plane coding is being used in the proposed JPEG2000 standard, as described in ISO/IEC JTC1/SC29 WG1 N1646, JPEG2000 Part I Final Committee Draft, Version 1.0, March 2000. The JPEG2000 encoder decomposes the image into a hierarchy of resolutions and the compressed data corresponding to a resolution is further divided into a number of quality layers. At any resolution, adding more layers to the compressed bit-stream generally improves the visual quality of the image reconstructed at that resolution and at higher resolutions. The JPEG2000 standard provides a very flexible framework for organizing and ordering the compressed bit-stream. For example, a compressed bit-stream may be resolution-layer-component-position progressive or layer-resolution-component-position progressive. Such bit-streams are also referred to as resolution-scalable and quality-scalable, respectively. It is up to the individual JPEG2000 encoder to arrange the compressed bit-stream in a manner suitable for the intended application.
If the compressed bit-stream is arranged in a resolution-layer-component-position progressive manner, henceforth referred to as resolution-progressive, all the layers corresponding to a lower resolution image appear in the bit-stream earlier than any layers corresponding to higher resolutions. On the other hand, if the compressed bit-stream is arranged in a layer-resolution-component-position progressive manner, henceforth referred to as layer-progressive, layers with lower indices from all resolution levels appear in the bit-stream earlier than any layers with higher indices. Thus, it is not possible for the compressed bit-stream to be resolution-progressive and layer-progressive at the same time. But in some applications, a combination of these two modes may be desirable.
For example, consider a digital camera having four visual quality levels. Suppose that the images are captured at a resolution of 1536 by 1024 pixels, but for the two lowest visual quality levels, the images are stored at the next lower resolution, 768 by 512 pixels. Consider a usage scenario in which the image is compressed at the highest visual quality level, but due to memory constraints it is necessary to truncate the compressed bit-stream so that the image is stored at the lowest visual quality level. If the original compressed bit-stream had been arranged in a layer-progressive manner, the truncated bit-stream would still contain some layers from the higher (1536 by 1024) resolution. This is a waste of memory space because at the lowest visual quality level, the image will be stored at the 768 by 512 resolution. Similarly, suppose that the compressed bit-stream corresponding to the highest visual quality level is arranged in a resolution-progressive manner, and is then truncated to the next lower visual quality level at the same resolution. In this case, the truncated bit-stream may contain layers from the 768 by 512 resolution that are not necessary to achieve the desired visual quality level.
Also consider the situation where the digital camera stores many images on a flash memory card, and includes an image display, such as a color liquid crystal display (LCD), with a limited dynamic range. The LCD displays several xe2x80x9cthumbnail sizexe2x80x9d (e.g., 192 by 128 resolution) images at the same time to allow the user to locate an image of interest. It then displays a single xe2x80x9cscreennailxe2x80x9d size (e.g. 384 by 256 resolution) image of one of the selected thumbnail images. In this situation, if the file is arranged in a layer-progressive manner, it will take time to skip over some layers from the higher (1536 by 1024) resolution in order to locate just the data needed for the lower resolution images. If the data is arranged in a resolution-progressive manner, it will again take time to skip over some of the layers from the 192 by 128 and 384 by 256 resolution levels that are not needed to provide an acceptable image on the low dynamic range camera LCD. As a result, the time required to decode the images will be slow, and the display will not be as responsive to user commands to display a new image as would be desirable.
Accordingly, an object of the present invention is to provide a method for the formation of layers of a compressed JPEG2000 bit-stream in such a manner that the bit-stream provides partial resolution scalability within a layer-progressive ordering.
This object is achieved by a method for producing a compressed digital image from an input digital image, wherein the compressed digital image is organized into layers having information that can be extracted in accordance with different desired viewing conditions and resolutions, comprising the steps of:
(a) decomposing the input digital image to produce a plurality of subbands, each subband having a plurality of subband coefficients;
(b) quantizing the plurality of subband coefficients of each subband of the decomposed input digital image to produce a quantized output value for each subband coefficient of each subband;
(c) forming at least one bit-plane from the quantized output values of subband coefficients of each subband;
(d) entropy encoding each bit-plane of each subband in at least one pass to produce a compressed bit-stream corresponding to each pass, wherein each subband is entropy encoded independently of the other subbands;
(e) providing a visual quality table that specifies a number of expected visual quality levels by providing selectable viewing conditions and resolutions for each expected visual quality level;
(f) identifying a minimal set of passes and their corresponding compressed bit-streams that are necessary to satisfy the expected visual quality levels provided in the visual quality table, whereby a user can select different desired viewing conditions and resolutions for each compressed image; and
(g) ordering the compressed bit-streams corresponding to passes into layers from the lowest expected visual quality level to the highest expected visual quality level specified in the visual quality table to produce a compressed digital image, wherein each layer includes the passes and their corresponding compressed bit-streams from the identified minimal set corresponding to the expected visual quality level that have not been included in any lower visual quality layers.
The present invention provides an advantage in that the compressed bit-stream corresponding to the highest visual quality level can be truncated to achieve any other visual quality level.
The present invention also provides an advantage in that the truncated bit-stream contains only the layers that are necessary to represent the image at the resolution intended for that visual quality level.